package com.chalk.model;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;

import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.List;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 *
 * </p>
 *
 * @author glq
 * @since 2020-12-21
 */

@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_coach")
@ApiModel(value = "Coach对象", description = "教练")
public class Coach implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(name = "coachId",value = "教练id")
    @TableId(value = "coach_id", type = IdType.AUTO)
    @JsonProperty("coachId")
    private Integer coachId;

    @ApiModelProperty(value = "教练名称")
    @JsonProperty("coachName")
    private String coachName;

    @ApiModelProperty(value = "教练头像")
    @JsonProperty("coachPhoto")
    private String coachPhoto;

    @ApiModelProperty(value = "教练自我介绍")
    @JsonProperty("coachInfo")
    private String coachInfo;

    @ApiModelProperty(value = "所属机构id")
    @JsonProperty("orgId")
    private Integer orgId;

    @ApiModelProperty(value = "从业年限")
    @JsonProperty("coachTeachAge")
    private Integer coachTeachAge;

    @ApiModelProperty(value = "从业年限lable")
    @JsonProperty("coachTeachLable")
    private String coachTeachLable;

    @ApiModelProperty(value = "教练描述")
    @JsonProperty("coachDesc")
    private String coachDesc;

    @ApiModelProperty(value = "教练等级")
    @JsonProperty("gradeId")
    private Integer gradeId;

    @ApiModelProperty(value = "0 未删除 1已删除")
    @JsonProperty("isDelete")
    private Integer isDelete;

    @ApiModelProperty(value = "创建时间")
    @JsonProperty("createTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新时间")
    @JsonProperty("updateTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private LocalDateTime updateTime;


    @ApiModelProperty(value = "机构名称")
    @JsonProperty("orgName")
    @TableField(exist = false)
    private String orgName;


    @ApiModelProperty(value = "等级标题")
    @JsonProperty("gradeTitle")
    @TableField(exist = false)
    private String gradeTitle;

    @ApiModelProperty(value = "等级标题")
    @JsonProperty("gradeLable")
    @TableField(exist = false)
    private String gradeLable;

    @ApiModelProperty(value = "运动项目名称")
    @JsonProperty("seName")
    @TableField(exist = false)
    private List seName;

    @ApiModelProperty(value = "运动项目ID")
    @JsonProperty("sportEvents")
    @TableField(exist = false)
    private List<Integer> sportEvents;
}
